Sitecore WaitForLanguages module allows administrators to setup workflow in such a way that an Item cannot be moved to a new state until all language versions of the Item are in a certain workflow state.
Such functionality allows modifying the default behavior when all language versions have separate independent workflows.
1. Installation Guide
The Wait For Languages control is distributed as a standard Sitecore package. Thus to start using it, you should install the package. Please refer to the Installing Modules and Packages article if you are not familiar with the standard Sitecore Packager tool.
The package installs the WaitForLanguage.dll and ExecuteCommand.dll assemblies to the “/bin” folder of your site root, adds the WaitForLanguage template and the WaitForLanguage master to the Client
2. User Manual
Create a new Workflow state (for example, WaitForLanguage) from a common
Change the 'Next state' filed value for the previous state's command to point to the newly created state Item as shown in the picture below:
Create a command which will be executed after the last language version enters the WaitForLanguage state.
You may wish to hide this command from Users, so that they don’t see it in UI and thus can't explicitly influence the process of waiting for languages. There are two ways to achieve this. The first one is the standard Sitecore security engine (denying read right for this Item). The second one is to move this Item somewhere under the Workflows Item in the content tree.
Set the Next state field for this command accordingly.
Create an action for the new state using the WaitForLanguage master.
Fill the CommandToExecute field with the path to your custom command.
Select the languages which you want to wait for in the 'LanguagesToWaitFor' field.
Important Note : If no languages are selected in the LanguagesToWaitFor field, the effect will be equal to selecting all languages. There is a language which usually passes the workflow first, and it is not required to wait for this language by design. If you wish to disable the functionality of the module, you should select this language.